[INFO] cloning repository https://github.com/unkvolism/Mirage-Rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/unkvolism/Mirage-Rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Funkvolism%2FMirage-Rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Funkvolism%2FMirage-Rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9784e39ddad60463b14f5ffa726b0180991bc411
[INFO] fixing unkvolism/Mirage-Rs against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Funkvolism%2FMirage-Rs" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/unkvolism/Mirage-Rs
[INFO] finished tweaking git repo https://github.com/unkvolism/Mirage-Rs
[INFO] tweaked toml for git repo https://github.com/unkvolism/Mirage-Rs written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/unkvolism/Mirage-Rs on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/unkvolism/Mirage-Rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 94467997f9cd6354eb9f15f7a73983660350a1b3a53c37016e3a9169978562a8
[INFO] running `Command { std: "docker" "start" "94467997f9cd6354eb9f15f7a73983660350a1b3a53c37016e3a9169978562a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "94467997f9cd6354eb9f15f7a73983660350a1b3a53c37016e3a9169978562a8" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "94467997f9cd6354eb9f15f7a73983660350a1b3a53c37016e3a9169978562a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "94467997f9cd6354eb9f15f7a73983660350a1b3a53c37016e3a9169978562a8" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling windows_x86_64_gnu v0.52.6
[INFO] [stderr]     Checking windows-targets v0.52.6
[INFO] [stderr]     Checking windows-result v0.2.0
[INFO] [stderr]     Checking windows-strings v0.1.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling windows-implement v0.58.0
[INFO] [stderr]    Compiling windows-interface v0.58.0
[INFO] [stderr]     Checking windows-core v0.58.0
[INFO] [stderr]     Checking windows v0.58.0
[INFO] [stderr]     Checking mirage v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stdout] error[E0433]: cannot find `Win32` in `windows`
[INFO] [stdout]  --> src/main.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | use windows::Win32::Foundation::HMODULE;
[INFO] [stdout]   |              ^^^^^ could not find `Win32` in `windows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `Win32` in `windows`
[INFO] [stdout]  --> src/main.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | use windows::Win32::System::LibraryLoader::GetProcAddress;
[INFO] [stdout]   |              ^^^^^ could not find `Win32` in `windows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `Win32` in `windows`
[INFO] [stdout]  --> src/main.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | use windows::Win32::System::Memory::{VirtualAlloc, MEM_COMMIT, PAGE_EXECUTE_READWRITE};
[INFO] [stdout]   |              ^^^^^ could not find `Win32` in `windows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `core` in `windows`
[INFO] [stdout]    --> src/main.rs:143:18
[INFO] [stdout]     |
[INFO] [stdout] 143 |         windows::core::PCSTR::from_raw(cname.as_ptr() as *const u8),
[INFO] [stdout]     |                  ^^^^ could not find `core` in `windows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `LoadLibraryA` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/main.rs:98:21
[INFO] [stdout]    |
[INFO] [stdout] 98 |             let h = LoadLibraryA(dll.as_ptr());
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/main.rs:93:1
[INFO] [stdout]    |
[INFO] [stdout] 93 | unsafe fn get_call_enclave() -> CallEnclaveFn {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `RawGetProcAddress` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:100:25
[INFO] [stdout]     |
[INFO] [stdout] 100 |                 let p = RawGetProcAddress(h, proc_name.as_ptr());
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::str::from_utf8_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:104:25
[INFO] [stdout]     |
[INFO] [stdout] 104 |                         std::str::from_utf8_unchecked(&dll[..dll.len() - 1]),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     std::mem::transmute(addr)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:93:1
[INFO] [stdout]     |
[INFO] [stdout]  93 | unsafe fn get_call_enclave() -> CallEnclaveFn {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `get_call_enclave` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:121:16
[INFO] [stdout]     |
[INFO] [stdout] 121 |     let func = get_call_enclave();
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:116:1
[INFO] [stdout]     |
[INFO] [stdout] 116 | / unsafe fn call_enclave(
[INFO] [stdout] 117 | |     routine: PVOID,
[INFO] [stdout] 118 | |     parameter: *mut c_void,
[INFO] [stdout] 119 | |     return_value: *mut *mut c_void,
[INFO] [stdout] 120 | | ) -> BOOL {
[INFO] [stdout]     | |_________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:122:18
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let result = func(routine, parameter, 1, return_value);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `GetLastError` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:124:61
[INFO] [stdout]     |
[INFO] [stdout] 124 |         println!("[!] CallEnclave failed, GetLastError={}", GetLastError());
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `IsEnclaveTypeSupported` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 |     if IsEnclaveTypeSupported(ENCLAVE_TYPE_VBS) == 0 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | unsafe fn load_vulnerable_enclave(enclave_path: &[u16]) -> PVOID {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:155:52
[INFO] [stdout]     |
[INFO] [stdout] 155 |     let mut create_info: ENCLAVE_CREATE_INFO_VBS = std::mem::zeroed();
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `CreateEnclave` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:159:19
[INFO] [stdout]     |
[INFO] [stdout] 159 |       let enclave = CreateEnclave(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 160 | |         GetCurrentProcess(),
[INFO] [stdout] 161 | |         ptr::null_mut(),
[INFO] [stdout] 162 | |         0x1000_0000,
[INFO] [stdout] ...   |
[INFO] [stdout] 167 | |         ptr::null_mut(),
[INFO] [stdout] 168 | |     );
[INFO] [stdout]     | |_____^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `GetCurrentProcess` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |         GetCurrentProcess(),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `LoadEnclaveImageW` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:175:19
[INFO] [stdout]     |
[INFO] [stdout] 175 |     let load_ok = LoadEnclaveImageW(enclave, enclave_path.as_ptr());
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `GetLastError` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 179 |             GetLastError()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mirage` (bin "mirage" test) due to 4 previous errors; 23 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning[E0133]: call to unsafe function `InitializeEnclave` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:191:19
[INFO] [stdout]     |
[INFO] [stdout] 191 |       let init_ok = InitializeEnclave(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 192 | |         GetCurrentProcess(),
[INFO] [stdout] 193 | |         enclave,
[INFO] [stdout] 194 | |         &init_info as *const _ as *const c_void,
[INFO] [stdout] 195 | |         init_info.length,
[INFO] [stdout] 196 | |         &mut enclave_error,
[INFO] [stdout] 197 | |     );
[INFO] [stdout]     | |_____^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `GetCurrentProcess` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |         GetCurrentProcess(),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `GetLastError` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:202:13
[INFO] [stdout]     |
[INFO] [stdout] 202 |             GetLastError(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `get_enclave_proc` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:214:25
[INFO] [stdout]     |
[INFO] [stdout] 214 |     let init_function = get_enclave_proc(enclave, "Init");
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:213:1
[INFO] [stdout]     |
[INFO] [stdout] 213 | unsafe fn initialize_vulnerable_enclave(enclave: PVOID) -> InitTag {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `call_enclave` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:226:5
[INFO] [stdout]     |
[INFO] [stdout] 226 | /     call_enclave(
[INFO] [stdout] 227 | |         init_function,
[INFO] [stdout] 228 | |         &mut init_args as *mut _ as *mut c_void,
[INFO] [stdout] 229 | |         &mut llconfig,
[INFO] [stdout] 230 | |     );
[INFO] [stdout]     | |_____^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `get_enclave_proc` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:242:25
[INFO] [stdout]     |
[INFO] [stdout] 242 |     let seal_function = get_enclave_proc(enclave, "SealSettings");
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:236:1
[INFO] [stdout]     |
[INFO] [stdout] 236 | / unsafe fn enclave_seal_wrapper(
[INFO] [stdout] 237 | |     data: &mut [u8],
[INFO] [stdout] 238 | |     llconfig: InitTag,
[INFO] [stdout] 239 | |     enclave: PVOID,
[INFO] [stdout] 240 | |     address: *mut u8,
[INFO] [stdout] 241 | | ) -> DWORD {
[INFO] [stdout]     | |__________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `call_enclave` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 | /     call_enclave(
[INFO] [stdout] 254 | |         seal_function,
[INFO] [stdout] 255 | |         &mut seal_args as *mut _ as *mut c_void,
[INFO] [stdout] 256 | |         &mut sz_needed,
[INFO] [stdout] 257 | |     );
[INFO] [stdout]     | |_____^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `call_enclave` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 | /     call_enclave(
[INFO] [stdout] 263 | |         seal_function,
[INFO] [stdout] 264 | |         &mut seal_args as *mut _ as *mut c_void,
[INFO] [stdout] 265 | |         &mut sz_needed,
[INFO] [stdout] 266 | |     );
[INFO] [stdout]     | |_____^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `get_enclave_proc` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:279:27
[INFO] [stdout]     |
[INFO] [stdout] 279 |     let unseal_function = get_enclave_proc(enclave, "UnsealSettings");
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:271:1
[INFO] [stdout]     |
[INFO] [stdout] 271 | / unsafe fn enclave_unseal_wrapper(
[INFO] [stdout] 272 | |     llconfig: InitTag,
[INFO] [stdout] 273 | |     enclave: PVOID,
[INFO] [stdout] 274 | |     unseal_address: PVOID,
[INFO] [stdout] ...   |
[INFO] [stdout] 277 | |     unsealed_size: DWORD,
[INFO] [stdout] 278 | | ) {
[INFO] [stdout]     | |_^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `call_enclave` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:291:5
[INFO] [stdout]     |
[INFO] [stdout] 291 | /     call_enclave(
[INFO] [stdout] 292 | |         unseal_function,
[INFO] [stdout] 293 | |         &mut unseal_args as *mut _ as *mut c_void,
[INFO] [stdout] 294 | |         &mut ret,
[INFO] [stdout] 295 | |     );
[INFO] [stdout]     | |_____^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0133, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `Win32` in `windows`
[INFO] [stdout]  --> src/main.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | use windows::Win32::Foundation::HMODULE;
[INFO] [stdout]   |              ^^^^^ could not find `Win32` in `windows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `Win32` in `windows`
[INFO] [stdout]  --> src/main.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | use windows::Win32::System::LibraryLoader::GetProcAddress;
[INFO] [stdout]   |              ^^^^^ could not find `Win32` in `windows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `Win32` in `windows`
[INFO] [stdout]  --> src/main.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | use windows::Win32::System::Memory::{VirtualAlloc, MEM_COMMIT, PAGE_EXECUTE_READWRITE};
[INFO] [stdout]   |              ^^^^^ could not find `Win32` in `windows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `core` in `windows`
[INFO] [stdout]    --> src/main.rs:143:18
[INFO] [stdout]     |
[INFO] [stdout] 143 |         windows::core::PCSTR::from_raw(cname.as_ptr() as *const u8),
[INFO] [stdout]     |                  ^^^^ could not find `core` in `windows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `LoadLibraryA` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/main.rs:98:21
[INFO] [stdout]    |
[INFO] [stdout] 98 |             let h = LoadLibraryA(dll.as_ptr());
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/main.rs:93:1
[INFO] [stdout]    |
[INFO] [stdout] 93 | unsafe fn get_call_enclave() -> CallEnclaveFn {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `RawGetProcAddress` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:100:25
[INFO] [stdout]     |
[INFO] [stdout] 100 |                 let p = RawGetProcAddress(h, proc_name.as_ptr());
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::str::from_utf8_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:104:25
[INFO] [stdout]     |
[INFO] [stdout] 104 |                         std::str::from_utf8_unchecked(&dll[..dll.len() - 1]),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     std::mem::transmute(addr)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:93:1
[INFO] [stdout]     |
[INFO] [stdout]  93 | unsafe fn get_call_enclave() -> CallEnclaveFn {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `get_call_enclave` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:121:16
[INFO] [stdout]     |
[INFO] [stdout] 121 |     let func = get_call_enclave();
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:116:1
[INFO] [stdout]     |
[INFO] [stdout] 116 | / unsafe fn call_enclave(
[INFO] [stdout] 117 | |     routine: PVOID,
[INFO] [stdout] 118 | |     parameter: *mut c_void,
[INFO] [stdout] 119 | |     return_value: *mut *mut c_void,
[INFO] [stdout] 120 | | ) -> BOOL {
[INFO] [stdout]     | |_________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:122:18
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let result = func(routine, parameter, 1, return_value);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `GetLastError` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:124:61
[INFO] [stdout]     |
[INFO] [stdout] 124 |         println!("[!] CallEnclave failed, GetLastError={}", GetLastError());
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `IsEnclaveTypeSupported` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 |     if IsEnclaveTypeSupported(ENCLAVE_TYPE_VBS) == 0 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | unsafe fn load_vulnerable_enclave(enclave_path: &[u16]) -> PVOID {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mirage` (bin "mirage") due to 4 previous errors; 23 warnings emitted
[INFO] [stdout] warning[E0133]: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:155:52
[INFO] [stdout]     |
[INFO] [stdout] 155 |     let mut create_info: ENCLAVE_CREATE_INFO_VBS = std::mem::zeroed();
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `CreateEnclave` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:159:19
[INFO] [stdout]     |
[INFO] [stdout] 159 |       let enclave = CreateEnclave(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 160 | |         GetCurrentProcess(),
[INFO] [stdout] 161 | |         ptr::null_mut(),
[INFO] [stdout] 162 | |         0x1000_0000,
[INFO] [stdout] ...   |
[INFO] [stdout] 167 | |         ptr::null_mut(),
[INFO] [stdout] 168 | |     );
[INFO] [stdout]     | |_____^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `GetCurrentProcess` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |         GetCurrentProcess(),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `LoadEnclaveImageW` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:175:19
[INFO] [stdout]     |
[INFO] [stdout] 175 |     let load_ok = LoadEnclaveImageW(enclave, enclave_path.as_ptr());
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `GetLastError` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 179 |             GetLastError()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `InitializeEnclave` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:191:19
[INFO] [stdout]     |
[INFO] [stdout] 191 |       let init_ok = InitializeEnclave(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 192 | |         GetCurrentProcess(),
[INFO] [stdout] 193 | |         enclave,
[INFO] [stdout] 194 | |         &init_info as *const _ as *const c_void,
[INFO] [stdout] 195 | |         init_info.length,
[INFO] [stdout] 196 | |         &mut enclave_error,
[INFO] [stdout] 197 | |     );
[INFO] [stdout]     | |_____^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `GetCurrentProcess` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |         GetCurrentProcess(),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `GetLastError` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:202:13
[INFO] [stdout]     |
[INFO] [stdout] 202 |             GetLastError(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `get_enclave_proc` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:214:25
[INFO] [stdout]     |
[INFO] [stdout] 214 |     let init_function = get_enclave_proc(enclave, "Init");
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:213:1
[INFO] [stdout]     |
[INFO] [stdout] 213 | unsafe fn initialize_vulnerable_enclave(enclave: PVOID) -> InitTag {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `call_enclave` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:226:5
[INFO] [stdout]     |
[INFO] [stdout] 226 | /     call_enclave(
[INFO] [stdout] 227 | |         init_function,
[INFO] [stdout] 228 | |         &mut init_args as *mut _ as *mut c_void,
[INFO] [stdout] 229 | |         &mut llconfig,
[INFO] [stdout] 230 | |     );
[INFO] [stdout]     | |_____^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `get_enclave_proc` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:242:25
[INFO] [stdout]     |
[INFO] [stdout] 242 |     let seal_function = get_enclave_proc(enclave, "SealSettings");
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:236:1
[INFO] [stdout]     |
[INFO] [stdout] 236 | / unsafe fn enclave_seal_wrapper(
[INFO] [stdout] 237 | |     data: &mut [u8],
[INFO] [stdout] 238 | |     llconfig: InitTag,
[INFO] [stdout] 239 | |     enclave: PVOID,
[INFO] [stdout] 240 | |     address: *mut u8,
[INFO] [stdout] 241 | | ) -> DWORD {
[INFO] [stdout]     | |__________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `call_enclave` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 | /     call_enclave(
[INFO] [stdout] 254 | |         seal_function,
[INFO] [stdout] 255 | |         &mut seal_args as *mut _ as *mut c_void,
[INFO] [stdout] 256 | |         &mut sz_needed,
[INFO] [stdout] 257 | |     );
[INFO] [stdout]     | |_____^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `call_enclave` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 | /     call_enclave(
[INFO] [stdout] 263 | |         seal_function,
[INFO] [stdout] 264 | |         &mut seal_args as *mut _ as *mut c_void,
[INFO] [stdout] 265 | |         &mut sz_needed,
[INFO] [stdout] 266 | |     );
[INFO] [stdout]     | |_____^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `get_enclave_proc` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:279:27
[INFO] [stdout]     |
[INFO] [stdout] 279 |     let unseal_function = get_enclave_proc(enclave, "UnsealSettings");
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:271:1
[INFO] [stdout]     |
[INFO] [stdout] 271 | / unsafe fn enclave_unseal_wrapper(
[INFO] [stdout] 272 | |     llconfig: InitTag,
[INFO] [stdout] 273 | |     enclave: PVOID,
[INFO] [stdout] 274 | |     unseal_address: PVOID,
[INFO] [stdout] ...   |
[INFO] [stdout] 277 | |     unsealed_size: DWORD,
[INFO] [stdout] 278 | | ) {
[INFO] [stdout]     | |_^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `call_enclave` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:291:5
[INFO] [stdout]     |
[INFO] [stdout] 291 | /     call_enclave(
[INFO] [stdout] 292 | |         unseal_function,
[INFO] [stdout] 293 | |         &mut unseal_args as *mut _ as *mut c_void,
[INFO] [stdout] 294 | |         &mut ret,
[INFO] [stdout] 295 | |     );
[INFO] [stdout]     | |_____^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0133, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "94467997f9cd6354eb9f15f7a73983660350a1b3a53c37016e3a9169978562a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "94467997f9cd6354eb9f15f7a73983660350a1b3a53c37016e3a9169978562a8", kill_on_drop: false }`
[INFO] [stdout] 94467997f9cd6354eb9f15f7a73983660350a1b3a53c37016e3a9169978562a8
